package part8;

/**
 * @author wcj
 * @Date 2021/5/16 18:27
 * @Version 1.0
 */
public class Part89 {

    public static void main(String[] args) {
        Useful[] arr = {new Useful(), new MoreUseFul()};
        // 因为实际类型为Useful所以编译时会发生错误，因为Useful中没有u方法
        ((MoreUseFul) arr[0]).u();
        ((MoreUseFul) arr[1]).u();
    }
}

class Useful {
    public void f() {
        System.out.println("Useful f");
    }

    public void g() {
        System.out.println("Useful g");
    }
}

class MoreUseFul extends Useful {
    @Override
    public void f() {
        System.out.println("MoreUseful f");
    }

    @Override
    public void g() {
        System.out.println("MoreUseful g");
    }

    public void u() {
        System.out.println("MoreUseful u");
    }
}
